package co.com.ejb;

import java.sql.SQLException;
import java.util.List;

import javax.ejb.Stateless;

import co.com.dao.CarreraDAO;
import co.com.dao.ParticipanteDAO;
import co.com.dao.TipoCarreraDAO;
import co.com.vo.CarreraVO;
import co.com.vo.ParticipanteVO;
import co.com.vo.TipoCarreraVO;

/**
 * Session Bean implementation class Delegado
 */
@Stateless
public class Delegado implements DelegadoRemote, DelegadoLocal {

	private TipoCarreraDAO tipoCarreraDAO;
	private CarreraDAO carreraDAO;
	private ParticipanteDAO participanteDAO;
    /**
     * Default constructor. 
     */
    public Delegado() {
    	tipoCarreraDAO = new TipoCarreraDAO();
    	participanteDAO = new ParticipanteDAO();
    	carreraDAO = new CarreraDAO();
    }

	@Override
	public boolean insertParticipante(ParticipanteVO participanteVO) {
		try {
			return participanteDAO.insertParticipante(participanteVO);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public boolean updateParticipante(ParticipanteVO participanteVO) {
		try {
			return participanteDAO.updateParticipante(participanteVO );
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public boolean deleteParticipante(ParticipanteVO participanteVO) {
		try {
			return participanteDAO.deleteParticipante(participanteVO);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public List<ParticipanteVO> selectParticipante(ParticipanteVO participanteVO) {
		try {
			return participanteDAO.selectParticipante(participanteVO);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

	@Override
	public List<ParticipanteVO> selectAllParticipante() {
		try {
			return participanteDAO.selectAllParticipante();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	@Override
	public boolean insertCarrera (CarreraVO carreraVO) {
		try {
			return carreraDAO.insertCarrera(carreraVO);
		}catch (SQLException e) {
			e.printStackTrace();
		}
	return false;
	}
	
	@Override
	public boolean updateCarrera (CarreraVO carreraVO) {
		try {
			return carreraDAO.updateCarrera(carreraVO);
		}catch (SQLException e) {
			e.printStackTrace();
		}
	return false;
	}

	@Override
	public boolean deleteCarrera(CarreraVO carreraVO) {
		try {
			return carreraDAO.deleteCarrera(carreraVO);
		}catch (SQLException e) {
			e.printStackTrace();
		}
	return false;
	}

	@Override
	public List<CarreraVO> selectCarrera(CarreraVO carreraVO){
		try {
			return carreraDAO.selectCarrera(carreraVO);
		}catch (SQLException e) {
			e.printStackTrace();
		}
	return null;
	}
	
	@Override
	public List<CarreraVO> selectAllCarrera(){
		try {
			return carreraDAO.selectAllCarrera();
		}catch (SQLException e) {
			e.printStackTrace();
		}
	return null;
	}
	
	@Override
	public boolean insertTipoCarrera(TipoCarreraVO tipoCarreraVO) {
		try {
			return tipoCarreraDAO.insert(tipoCarreraVO);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public boolean updateTipoCarrera(TipoCarreraVO tipoCarreraVO) {
		try {
			return tipoCarreraDAO.update(tipoCarreraVO);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public boolean deleteTipoCarrera(TipoCarreraVO tipoCarreraVO) {
		try {
			return tipoCarreraDAO.delete(tipoCarreraVO);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public List<TipoCarreraVO> selectTipoCarrera(TipoCarreraVO tipoCarreraVO) {
		try {
			return tipoCarreraDAO.select(tipoCarreraVO);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

	@Override
	public List<TipoCarreraVO> selectAllTipoCarrera() {
		try {
			return tipoCarreraDAO.selectAll();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}


}
